package com.imau.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.imau.bean.Role;
import com.imau.bean.User;

import java.util.Set;

public interface UserService extends IService<User> {


    /**
     * 保存用户
     *
     * @param user
     * @return
     */
    boolean save(User user);

    /**
     * 按照主键删除
     *
     * @param id
     * @return
     */
    boolean removeById(String id);

    /**
     * 按照主键查询
     *
     * @param id
     * @return
     */
    User findById(String id);

    /**
     * 按照字段参数查询
     * @param user
     * @return
     */
    User findByField(User user);

    /**
     * 按照手机号字段参数查询
     * @param mobile
     * @return
     */
    public User findByMobile(String mobile);

    /**
     * 用户列表查询
     * @param user 查询条件
     * @return
     */
    IPage<User> queryUserList(User user, Integer pageNum, Integer pageSize);

    /**
     * 更新用户
     *
     * @param user
     * @return
     */
    boolean editUser(User user);

    /**
     * 分配角色服务
     * @param uid
     * @param roles
     * @return
     */
    boolean assignRoles(String uid, Set<Role> roles);
    boolean assignRoles(String uid, String rids[]);
    /**
     * 取消分配角色服务
     */
    boolean unassignRoles(String uid);



    public User checkLogin(String mobile, String password);

}
